/**
 * 
 */
package cl.duocap.refaxion.view.bean;

import java.io.Serializable;
import java.util.List;

import javax.annotation.PostConstruct;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ManagedProperty;
import javax.faces.bean.SessionScoped;
import javax.faces.context.FacesContext;

import cl.duocap.refaxion.arquitectura.Jsf2Util;
import cl.duocap.refaxion.dto.TipoUsuarioDTO;
import cl.duocap.refaxion.dto.UsuarioDTO;
import cl.duocap.refaxion.servicios.UsuarioService;

/**
 * @author rentonx
 *
 */
@ManagedBean(name = "formUsuarioVerBean")
@SessionScoped
public class FormUsuarioVerBean implements Serializable {

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	private List<TipoUsuarioDTO> listaTiposUsuario;
	//private UsuarioDTO usuarioEditado = new UsuarioDTO();
	private UsuarioDTO usuarioEditado;
	private TipoUsuarioDTO tipoUsuario;
	private String idUsuarioPorEditar;
	private int idUsuarioEditar;
	@ManagedProperty("#{jsf2Util}")
	private Jsf2Util jsf2Util;
	
	@PostConstruct
	public void iniciar(){
		if (FacesContext.getCurrentInstance().isPostback()) {

			return;
		}
		UsuarioService listaTipoUsuarioEdicion = new UsuarioService();
		setListaTiposUsuario(listaTipoUsuarioEdicion.listarTipoUsuario());
		cargarUsuarioEditar();
	}
	
	public String listarTipoUsuario(){
		
		UsuarioService listaU = new UsuarioService();
		setListaTiposUsuario(listaU.listarTipoUsuario());
		return "formUsuarioVer.xhtml?faces-redirect=true";
		
	}
	
	public void cargarUsuarioEditar(){
		idUsuarioEditar = Integer.parseInt(jsf2Util.getParameter("idUsuario"));
		UsuarioService usuario = new UsuarioService();
		setUsuarioEditado(usuario.cargarUsuarioEditar(idUsuarioEditar));
	}

	

	public FormUsuarioVerBean() {
	
	}

	public List<TipoUsuarioDTO> getListaTiposUsuario() {
		return listaTiposUsuario;
	}

	public void setListaTiposUsuario(List<TipoUsuarioDTO> listaTiposUsuario) {
		this.listaTiposUsuario = listaTiposUsuario;
	}

	public UsuarioDTO getUsuarioEditado() {
		return usuarioEditado;
	}

	public void setUsuarioEditado(UsuarioDTO usuarioEditado) {
		this.usuarioEditado = usuarioEditado;
	}

	public TipoUsuarioDTO getTipoUsuario() {
		return tipoUsuario;
	}

	public void setTipoUsuario(TipoUsuarioDTO tipoUsuario) {
		this.tipoUsuario = tipoUsuario;
	}

	public int getIdUsuarioEditar() {
		return idUsuarioEditar;
	}

	public void setIdUsuarioEditar(int idUsuarioEditar) {
		this.idUsuarioEditar = idUsuarioEditar;
	}

	public String getIdUsuarioPorEditar() {
		return idUsuarioPorEditar;
	}

	public void setIdUsuarioPorEditar(String idUsuarioPorEditar) {
		this.idUsuarioPorEditar = idUsuarioPorEditar;
	}

	public Jsf2Util getJsf2Util() {
		return jsf2Util;
	}

	public void setJsf2Util(Jsf2Util jsf2Util) {
		this.jsf2Util = jsf2Util;
	}


}
